﻿using System;
using SistemaCarros.Entidades;

namespace SistemaCarros.Paginas
{
    public partial class EditarCarro : System.Web.UI.Page
    {
        int id
        {
            get
            {
                return Convert.ToInt32(Request.QueryString["id"]);
            }
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!Page.IsPostBack)
                {
                    carregarCombos();
                    carregarCarro();
                }
            }
            catch (Exception ex)
            {
                Session.Add("erro", ex);
                Response.Redirect("PaginaErro.aspx", false);
            }
        }
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                editarCarro();

                Response.Redirect("ListaCarros.aspx", false);
            }
            catch (Exception ex)
            {
                Session.Add("erro", ex);
                Response.Redirect("PaginaErro.aspx", false);
            }
        }

        private void carregarCarro()
        {
            Carro objCarro = new Carro();
            objCarro.Id = id;

            objCarro.CarregarDados();

            txtCor.Text = objCarro.Cor;
            txtId.Text = objCarro.Id.ToString();
            txtNome.Text = objCarro.Nome;
            txtNumeroPortas.Text = objCarro.NumeroPortas.ToString();
            txtPlaca.Text = objCarro.Placa;
            txtTipo.Text = objCarro.Tipo;
            txtValor.Text = objCarro.Valor.ToString();

            cboFabricantes.SelectedValue = objCarro.Fabricante.Id.ToString();
            cboProprietarios.SelectedValue = objCarro.Proprietario.Id.ToString();
        }
        private void carregarCombos()
        {
            cboProprietarios.DataSource = new Proprietario().Carregar();
            cboProprietarios.DataBind();
            cboProprietarios.Items.Insert(0, "--Selecione--");

            cboFabricantes.DataSource = new Fabricante().Carregar();
            cboFabricantes.DataBind();
            cboFabricantes.Items.Insert(0, "--Selecione--");
        }
        private void editarCarro()
        {
            Carro objCarro = new Carro();
            objCarro.Cor = txtCor.Text;
            objCarro.Id = Convert.ToInt32(txtId.Text);
            objCarro.Nome = txtNome.Text;
            objCarro.NumeroPortas = Convert.ToInt32(txtNumeroPortas.Text);
            objCarro.Placa = txtPlaca.Text;
            objCarro.Tipo = txtTipo.Text;
            objCarro.Valor = Convert.ToDouble(txtValor.Text);

            objCarro.Fabricante = new Fabricante() { Id = Convert.ToInt32(cboFabricantes.SelectedValue) };
            objCarro.Proprietario = new Proprietario() { Id = Convert.ToInt32(cboProprietarios.SelectedValue) };

            objCarro.Editar();
        }
    }
}